Many Automated Teller Machines (ATMs) behave like a state machine. When an ATM boots up, or with even lesser frequency, the ATM contacts a remote server and downloads state tables defining states, process flows, state transitions, and screen identifiers for screens to render on the display of the ATM. The state tables drive the processing at the ATM, identifying which process flows to execute, which events trigger a state transition, and what screens to render on the ATM display during a state or process flow.
The benefit of this approach is there is uniformity across a bank's (or financial institution) set of ATMs and problems may be able to be fixed or new functionality be provided only with updates to the state table at the remote host. The approach provides centralized control and uniformity across large sets of ATMs.
The problem with this approach is that it is time consuming and complex to change the flow that executes the states on the ATM, because the flow and states are not optimized. Furthermore, the infrastructure is not open to the use of new rendering technologies or the use of new flow building technologies. Essentially, the two main issues with the current models are: current flow structure is not optimized and it is cumbersome to create a flow using the existing model, and the technology used for both the flow and the screen rendering is dated and is not open to accommodate the new capabilities provided by web technology.
Basically, utilization of a state-driven ATM is still very useful but lacks an ability to customize an ATM in an equivalent manner so that it maintains the functionality of the original state table approach but can provide improved interfaces and functionality in a customized manner to a particular ATM or set of ATMs in the ATM network.
Therefore, it is desirable to provide improved mechanisms to configure state-driven machines without altering the standard functionality that the state-driven ATM provide with their existing states and without altering the authorization process currently used by the Bank or Financial Institution.